package d11_test02;

import java.util.Random;

//使用创建线程的第二个方式
//1、实现Runnable接口
public class MyRunnable implements Runnable {
    //当做是共享资源,线程只有操作共享资源的时候才是有意义的
    private int[] jackpot;
    //5.1创建随机数对象
    private static final Random r = new Random();

    public MyRunnable(int[] jackpot) {
        this.jackpot = jackpot;
    }


    //2、指定线程要执行的任务

    //3、保证线程安全

    @Override
    public void run() {
        //4、获取当前执行的线程名字
        String name = Thread.currentThread().getName();

        //7、要让抽奖箱子一直在抽奖
        while (true) {
            synchronized (jackpot) {

                //想让当前线程睡一秒才开始抽
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                //5、随机抽取一个奖项
                int money = jackpot[r.nextInt(jackpot.length)];

                //6、进行奖励的输出
                System.out.println(name + " 又产生一个" + money + "元大奖");
            }
        }

    }
}
